[LeetCode-1218]最长定差子序列
题目描述
求数组中最长的等差子序列的长度, 且公差为定值
思路
- 因为公差为
定值
, 因此当子序列最后一个数确定时, 倒数第二个数一定是确定的, 我们可以使用一个数来代表所有以倒数第二个数
为结尾的最长等差子序列. - 使用
动态规划
解决:- 状态表示: $f[i]$表示以
i
为结尾的最长的等差子序列 - 状态转移: $f[i] = f[i - d] + 1$
- 状态表示: $f[i]$表示以
Code
1 | class Solution { |
复杂度分析
- 时间复杂度$O(n)$
- 空间复杂度$O(n)$
欢迎讨论指正
[LeetCode-1218]最长定差子序列
https://csjsss.github.io/2021/11/08/algo/LeetCode/每日一题/[LeetCode-1218]最长定差子序列/